<?php
class OrdersController extends Zend_Controller_Action
{	
    public function init(){
        $this->_helper->_layout->setLayout('order');
    }
    public function indexAction(){
        $this->view->title = "Giỏ hàng";
        $finish = array();
		$finish                     =  $this->_request->getParam('finish',false);
		//print_r($finish); die;
		$model                  = new Vina_Model_Contacts();
		
		$form                   = new Default_Form_Contact();
		$form->setAction('/orders/index/finish/1');
        $SS = new Zend_Session_Namespace ('Cart');
        $ssCart = $SS->carts;
   
        if($ssCart != NULL) {
            $this->view->data = $ssCart;
        }else {
            $this->view->data = array();
        }
        $checkorder = 0;
        if($finish) {
            $checkorder = 1;
        }
		if ($this->_request->isPost()) {
	
                $formData = $this->_request->getPost();
    
                if ($form->isValid($formData)) {
					$strKey     = "Vina";
					$valueKey  = strtoupper(sha1($strKey . time() * rand(1, 1000)));
					$valueKey  = "S".substr($valueKey,1,7);
                    //echo "<pre>";
                    //print_r($ssCart); die;
                   foreach($ssCart as $key=>$value):
						$data2[] = $value;
						$order                  = new Vina_Model_Orders();
						$order->setName($value['name']);
						$order->setImage($value['image']);
						$order->setPrice($value['price']);
						$order->setNumber($value['number']);
						$order->setTotal($value['total']);
						$order->setKeyOrder($valueKey);
						$order->save();
						
				   endforeach;
				  
				   $model->setName($formData['name']);
                   $model->setEmail($formData['email']);
                   $model->setMobile($formData['mobile']);
                   $model->setAddress($formData['address']);
                   $model->setFax($formData['fax']);
				   $model->setTitle($formData['title']);
				   $model->setContent($formData['content']);
				   $model->setOrderKey($valueKey);
                   $model->save();
                   $SS->history_order = $SS->carts;
                   
                   //mail($formData['address'], "Xác nhận đơn hàng", "Bạn vừa đặt hàng thành công tại raucuquavn.com");
                   $SS->carts = NULL;
                   $this->_redirect('/orders/confirm/id/'.$model->id);
				  
                }
            }
		$this->view->form       = $form;
        $this->view->checkOrder = $checkorder;
    }
    public function confirmAction(){
       $id                     =  $this->_request->getParam('id',false);
    
       $model = new Vina_Model_Contacts();
       $dataList = $model->find($id);
      
       $key = $dataList->order_key;
       if($key == NULL) {
        $key = 1555555555555;
       }
       $orderModel = new Vina_Model_Orders();
       $dataOrder = $orderModel->fetchListToArray("key_order = '$key'");
      
       $this->view->data = $dataList;     
       $this->view->dataOrder = $dataOrder;
    }
    public function cartAjaxAction() {
        $this->_helper->layout->disableLayout();
        $SS = new Zend_Session_Namespace ('Cart');
        $ssCart = $SS->carts;
        
        if($ssCart != NULL) {
            $this->view->data = $ssCart;
        }else {
            $this->view->data = array();
        }
        
    }
    public function addAction()
    {
        $this->_helper->layout->disableLayout();
        $id                     =  $this->_request->getParam('id',0);
        $product = new Vina_Model_Products();
        $dataProduct = $product->find($id)->toArray();
        if($dataProduct != NULL) {
            $cartSave[$id]['id']        = $dataProduct['id'];
            $cartSave[$id]['number']    = 1;
            $cartSave[$id]['name']      = $dataProduct['name'];
            $cartSave[$id]['name_en']      = $dataProduct['name_en'];
            $cartSave[$id]['price']     = $dataProduct['price'];
            $cartSave[$id]['total']     = $dataProduct['price'];
            $cartSave[$id]['image']     = $dataProduct['image'];
            $SS = new Zend_Session_Namespace ('Cart');
            $ssCart = $SS->carts;
            
            if(isset($ssCart)) {
                $inarr  = array_key_exists($id, $ssCart);
                if($inarr == true) {
                   $ssCart[$id]['number'] = $ssCart[$id]['number'] + 1;
                   $ssCart[$id]['total'] = $ssCart[$id]['total'] + $dataProduct['price'];
                   $SS->carts = $ssCart;
                   $msge =  "Bạn vừa mua thêm một sản phẩm đã có trong giỏ hàng";
                   $countpro = count($SS->carts);
                }else {
                    $SS->carts = $ssCart + $cartSave;
                     $msge = "Đã thêm 1 sản phẩm vào giỏ hàng của bạn";
                     $countpro = count($SS->carts);
                }
            }else{
                $SS->carts = $cartSave;
                 $msge = "Đã thêm 1 sản phẩm vào giỏ hàng của bạn";
                 $countpro = 1;
            }
            
        }else
        {
            $msge = "Sản phẩm này không tồn tại";
        }
        $data['message'] = $msge;
        $data['countpro'] = $countpro;
        
        echo json_encode($data);
       exit;
    }
    public function delproAction() {
        $this->_helper->layout->disableLayout();
        $SS = new Zend_Session_Namespace ('Cart');
        $ssCart = $SS->carts;
        $id                     =  $this->_request->getParam('id',0);
        unset($ssCart[$id]);
        $SS->carts = $ssCart;
    }
    public function changeAction() {
        $this->_helper->layout->disableLayout();
        
        $id                     =  $this->_request->getParam('id',0);
        $value                     =  $this->_request->getParam('value',0);
        
        if(is_numeric($value) == false) {
            echo "Dữ liệu phải là số";
            die;
        }
        if($value < 100) {
        $SS = new Zend_Session_Namespace ('Cart');
        $ssCart = $SS->carts;
        $ssCart[$id]['number'] = $value;
        $ssCart[$id]['total'] = $value * $ssCart[$id]['price'];
        $SS->carts = $ssCart;
        }else{
            echo "Số lượng phải nhỏ hơn 100";
        }
        die;
    }
    	
}
